#ifndef ESTADODEPREPARACIONDEPARTIDA_H_
#define ESTADODEPREPARACIONDEPARTIDA_H_

#include "EstadoDelJuego.h"
#include "JuegoServerImp.h"

/**
 * En este estado del juego, los jugadores ubican sus ejercitos en el Mapa,
 * y toman una carta de objetivos.
 */

class EstadoDePreparacionDePartida : public EstadoDelJuego
{
private:
	JuegoServerImp* juego;
	void sortearTurnos();
	void asignarEjercitos();
public:
	EstadoDePreparacionDePartida(JuegoServerImp* juego);
	
	virtual void unirse(Jugador* jugador);
	virtual void colocarEjercitos(Jugador* jugador, Territorio* territorio, unsigned int cantidadDeEjercitos);
	virtual void reforzarEjercitos(Jugador* jugador);
	virtual void realizarAtaque(Ataque* ataque);
	virtual void moverEjercitos(Jugador* jugador, Territorio* origen, Territorio* destino, unsigned int cantidadDeEjercitos);
	
	virtual ~EstadoDePreparacionDePartida();
};

#endif /*ESTADODEPREPARACIONDEPARTIDA_H_*/
